// 云函数 updateCurrency：手动更新云数据库中的通货数据
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })
const db = cloud.database()

// 新的 Mock 数据（开发者需每日替换此处的 currencyData 为最新版）
const newCurrencyData = [
  // 这里应该放置当日最新的 currencyData 数组
  // 为了演示，我们使用与 initCurrency 相同的数据
  // 实际使用时需要替换为最新的价格数据
]

exports.main = async (event, context) => {
  try {
    // 1. 清空旧数据
    const deleteRes = await db.collection('currency').where({}).remove()
    console.log('旧通货数据已清空', deleteRes)

    // 2. 插入当日最新数据
    const insertPromises = newCurrencyData.map(item => {
      return db.collection('currency').add({
        data: {
          ...item,
          updated_at: new Date().toISOString() // 更新时间为当前时间
        }
      })
    })
    
    const updateRes = await Promise.all(insertPromises)
    console.log('数据更新成功，更新数量：', updateRes.length)

    return {
      success: true,
      message: '通货数据手动更新成功',
      data: {
        updatedCount: updateRes.length,
        updateTime: new Date().toISOString()
      }
    }
  } catch (error) {
    console.error('手动更新失败：', error)
    return {
      success: false,
      message: '手动更新失败',
      error: error.message
    }
  }
}